#ifndef __ADCFUNCTION_C
#define __ADCFUNCTION_C
#include <stdio.h>
#include <math.h>
#include <string.h>
#define ADC1 1
#define ADC2 2
double adc_read_f(int adc_id)
{
    FILE *fp = NULL;
    // char data[4];
    int i = 0;
    if(adc_id == 1){
        fp=fopen("/sys/bus/iio/devices/iio:device0/in_voltage2_raw","r");
    }
    else if (adc_id == 2)
    {
        fp=fopen("/sys/bus/iio/devices/iio:device0/in_voltage3_raw","r");
    }
    else{
        return 0;
    }

    char data[6];
    fscanf(fp,"%s",data);//读取字符串
    i = strlen(data);
    double out=0;
    for(int p = 0;p<i;p++)
    {
        out += (double)(data[i-1-p]-48)*pow(10.0,p);
    }
    out /= 1000;
    return out;


    // char ch;
    // ch = fgetc(fp);
//     while( ch != EOF ){
//         data[i] = ch;
//         i++;
//         ch = fgetc(fp);
//     }
//     double out=0;
//     for(int p = 0;p<i;p++)
//     {
//         out += (double)(data[i-1-p]-48)*pow(10.0,p);
//     }
//     out /= 1000;
//     return out;

}

int adc_read_d(int adc_id)
{
    FILE *fp = NULL;
    // char data[4];
    int i = 0;
    if(adc_id == 1){
        fp=fopen("/sys/bus/iio/devices/iio:device0/in_voltage2_raw","r");
    }
    else if (adc_id == 2)
    {
        fp=fopen("/sys/bus/iio/devices/iio:device0/in_voltage3_raw","r");
    }
    else{
        return 0;
    }

    char data[6];
    fscanf(fp,"%s",data);//读取字符串
    i = strlen(data);
    double out=0;
    for(int p = 0;p<i;p++)
    {
        out += (double)(data[i-1-p]-48)*pow(10.0,p);
    }
    return (int)out;


    // char ch;
    // ch = fgetc(fp);
//     while( ch != EOF ){
//         data[i] = ch;
//         i++;
//         ch = fgetc(fp);
//     }
//     double out=0;
//     for(int p = 0;p<i;p++)
//     {
//         out += (double)(data[i-1-p]-48)*pow(10.0,p);
//     }
//     out /= 1000;
//     return out;

}

// double Adc_read_d(int adc_id)
// {
//     FILE *fp;
//     char data[4];
//     int i = 0;
//     if(adc_id == 1){
//         fp=fopen("/sys/bus/iio/devices/iio:device0/in_voltage2_raw","r");
//     }
//     else if (adc_id == 2)
//     {
//         fp=fopen("/sys/bus/iio/devices/iio:device0/in_voltage2_raw","r");
//     }
//     else{
//         return 0;
//     }
//     char ch;
//     ch = fgetc(fp);
//     while(ch!=EOF){
//         data[i] = ch;
//         i++;
//         ch = fgetc(fp);
//     }
//     double out=0;
//     for(int p = 0;p<i;p++)
//     {
//         out += (double)(data[i-1-p]-48)*pow(10.0,p);
//     }
//     return out;
// }
#endif
